@mixin fn($space,$direction,$size,$n) {
	@if $n {
		#{$space}-#{$direction}: #{$size*$uni-space-root}px
	} @else {
		#{$space}-#{$direction}: #{-$size*$uni-space-root}px
	}
}

@mixin get-styles($direction,$i,$space,$n) {
	@if $direction == t {
		@include fn($space, top, $i, $n);
	}
	@if $direction == r {
		@include fn($space, right, $i, $n);
	}
	@if $direction == b {
		@include fn($space, bottom, $i, $n);
	}
	@if $direction == l {
		@include fn($space, left, $i, $n);
	}
	@if $direction == x {
		@include fn($space, left, $i, $n);
		@include fn($space, right, $i, $n);
	}
	@if $direction == y {
		@include fn($space, top, $i, $n);
		@include fn($space, bottom, $i, $n);
	}
	@if $direction == a {
		@if $n {
			#{$space}: #{$i*$uni-space-root}px;
		} @else {
			#{$space}: #{-$i*$uni-space-root}px;
		}
	}
}

@each $orientation in m, p {
	$space: margin;
	@if $orientation == m {
		$space: margin;
	} @else {
		$space: padding;
	}
	@for $i from 0 through 16 {
		@each $direction in t, r, b, l, x, y, a {
			.uni-#{$orientation}#{$direction}-#{$i} {
				@include get-styles($direction, $i, $space, true);
			}
			.uni-#{$orientation}#{$direction}-n#{$i} {
				@include get-styles($direction, $i, $space, false);
			}
		}
	}
}